home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
cstdio.arc
/
SRC.ARC
/
LTOAB.C
< prev
next >
Wrap
C/C++ Source or Header
|
1985-05-17
|
578b
|
28 lines
/* ltoab.c - long to ASCII based conversion.
K & R page 60, using pointers, including reverse.
Entered - G. R. Mansfield. 84/07/31.
Ver 1.0-5517.
*/
ltoab(n, s, b) /* convert n to characters in s using base b */
char *s;
long n, b;
{
char c, *p;
int i;
n = n & 0x7FFFFFFFL;
p = s;
do { /* generate digits in reverse order */
i = n % b; /* get next digit */
*p++ = (i >= 10) ? i + ('A' - 10) : i + '0';
}
while ((n /= b) > 0L); /* delete it */
*p = '\0';
while (p > s) { /* reverse string */
c = *s;
*s++ = *--p;
*p = c;
}
}